import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Una fábrica es un edificio que puede producir unidades.
 * 
 * @author Mario Alberto Valencia Valero
 */
public class Fabrica extends Edificio
{
    private GreenfootImage img,
                   imgSel; /** imagen cuando el edificio está seleccionado */
                   
    /**
     * Constructor
     * @param col  color del edificio
     */
    public Fabrica(Unidad.Color color)
    {
        this.col = color;
        img = new GreenfootImage("fabrica_"+color.name()+".gif");
        setImage(img);
        imgSel = new GreenfootImage("fabrica_"+color.name()+".gif");
        imgSel.drawRect(0,0, img.getWidth()-1, img.getHeight()-1);
    }
    
    /**
     * Capturar el edificio
     * @param col  color de la unidad que captura
     */
    public void captura(Unidad.Color col)
    {
        super.captura(col);
        if(captura<=0)
        {
            Unidad.Color nuevoCol = col;
            getWorld().addObject( new Fabrica(nuevoCol), getX(), getY() );
            getWorld().removeObject(this);
        }
    }
    
    /**
     * Seleccionar el edificio.
     */
    public void seleccionar()
    {
        setImage(imgSel);
    }
    
    /**
     * Desseleccionar el edificio.
     */
    public void desSeleccionar()
    {
        setImage(img);
    }
}
